// pages/QA/QA.js
var Data = require("../../../Data/mmse.js")
const baseURL=require('../../../utils/baseURL')
let app = getApp()
Page({

  data: {
    gradetext: '成绩：',
    mmsegrade: 0, //成绩
    questionnum: 26, //总数
    questions: Data.questions, //题库
    index: 0, //下标
    canAnswer: false, //是否可以答题

    timer2: null,     //
    nowTime: '00:00:00', // 计时
    hour: 0,
    minutes: 0,
    seconds: 0,
    QaTime: '00:00:00', //邓洋,你定义这个变量就没用上啊.时间还使用nowTime 这个变量的
    usrallTime: new Date()
  },

  //选项点击操作
  Click: function (e) {
    //获取点击元素的id 就是ABC选项
    var select = e.currentTarget.id;
    var oplength = Data.questions[this.data.index].options.length;  //拿到这个题的选项个数
    //答案正确
    if (oplength <= 2) {
      if (select == 'A') {
        this.setData({
          mmsegrade: this.data.mmsegrade + 1, //得分+1
        })
      }
    } else {
      if (select == 'A') {
        this.setData({
          mmsegrade: this.data.mmsegrade + 3, //得分+3
        })
      } else if (select == 'B') {
        this.setData({
          mmsegrade: this.data.mmsegrade + 2,
        })

      } else if (select == 'C') {
        this.setData({
          mmsegrade: this.data.mmsegrade + 1,
        })

      }

    }

    //不是最后一道题，跳转下一题
    if (this.data.index < this.data.questionnum - 1) {
      this.NextQuestion();
    }
    //最后一道题
    else if (this.data.index == this.data.questionnum - 1) {
      this.setData({
        canAnswer: 'true' //禁止答题
      })
      this.GoEnd();
    }
  },
  //跳转下一道题
  NextQuestion: function () {
    //不是最后一道题
    if (this.data.index < this.data.questionnum - 1) {
      this.setData({
        index: this.data.index + 1,
      })
    }
    //最后一道题
    if (this.data.index == this.data.questionnum - 1) {
      this.setData({
        index: this.data.index,
      })
    }
  },
  //跳转结束页面
  GoEnd: function () {
    // 从本地缓存中获取答题数据
    const savedData = wx.getStorageSync('reasoning_data') || {};

    // 获取总成绩、每道题的答案和对错、总答题时间
    const totalScore = this.data.mmsegrade;
    const totalTime = this.data.nowTime; // 假设QaTime是格式化后的总答题时间

    console.log("totalScore",totalScore)
    console.log("totalTime",totalTime)
    // 创建要保存的数据对象
    const dataToSave = {
      totalScore,
      totalTime
      // answers,
      // isCorrect,
     
    };

    // 将答题数据保存到本地缓存
    wx.setStorageSync('mmse_data', dataToSave);
    console.log('开始给后端发送scroe分数~~~')
    //发送前先从缓存拿token
    const token=  wx.getStorageSync('token')
    // 发送数据到后端
    wx.request({
      url: baseURL.dev+'/wxmini/score', // 替换为您的后端接口URL
      method: 'POST', // 或者您需要的请求方法
      header:{
          'Authorization': token
      },
      data: dataToSave, // 要发送到后端的数据
      success: function(res) {
        console.log('数据发送成功', res.data);
        // 处理后端返回的数据或进行页面跳转等操作
      },
      fail: function(error) {
        console.error('数据发送失败', error);
        // 处理发送失败的情况
      }
    })

    wx.navigateTo({
      url: '/pages/QAs/End/End',
    })
  },
  // 该函数在初次加载页面之前调用，当进入页面时，首先调用onLoad函数
  onLoad() {
    // 开始计时
    if (this.timer2) {
      clearInterval(this.timer2)
    }
    this.timer2 = setInterval(this.startTimer, 1000)
  },
  // 这个函数很简单，就是在离开页面之后要调用的函数。
  onHide() {
    this.setData({
      QaTime: this.data.nowTime
    })

    clearInterval(this.timer2) // 清空计时器
    this.setData({
      nowTime: '00:00:00', // 计时
      hour: 0,
      minutes: 0,
      seconds: 0
    })
  },

  // 开启定时器
  startTimer() {
    this.data.seconds += 1
    if (this.data.seconds >= 60) {
      this.setData({
        seconds: 0,
        minutes: this.data.minutes + 1
      })
    }
    if (this.data.minutes >= 60) {
      this.setData({
        minutes: 0,
        hour: this.data.hour + 1
      })
    }
    this.setData({
      nowTime: `${this.toZero(this.data.hour) + ':' + this.toZero(this.data.minutes) + ':' + this.toZero(this.data.seconds)}`
    })
    // ${...} 是ES6引入的模板字符串特性，允许你直接在字符串中嵌入表达式
  },
  // 添0 
  toZero(timeNumber) {
    return timeNumber < 10 ? '0' + timeNumber : timeNumber
  },



})